// Copyright (c) 2007 Robin Boerdijk. All rights reserved.
//
// This software is licensed under the terms of the Microsoft Reciprocal License as described 
// in the file LICENSE.txt, which you should have received as part of this distribution. The 
// license terms are also available at http://www.opensource.org/licenses/ms-rl.html.

#ifndef wtk_Box_h_included
#define wtk_Box_h_included

#include "wtk/Geometry.h"

namespace wtk
{
	class Box
	{
	public:

		Box() { }

		virtual ~Box() { }

		virtual SIZE GetMinimumSize() = 0;

		virtual long GetHorizontalElasticity() = 0;

		virtual long GetVerticalElasticity() = 0;
		
		virtual void Layout(const SIZE &size, const POINT &position = Zero<POINT>()) = 0;

	private:

		Box(const Box &other); Box &operator=(const Box &other); // make Box non-copyable
	};
}

#endif